1. Field of the Invention
Embodiments of the present invention relate, in general, to product knowledge management and particularly to a product catalog used in conjunction with a rules service for computer system risk analysis.
2. Relevant Background
With the growing deployment of computer systems and software, applications often operate in distributed, heterogeneous environments employing a variety of components. Data centers, as they are often referred to, are responsible for the maintenance and handling of information critical to the success of an enterprise. The critical nature of the data and services such data centers provide, necessitate that they operate with a high degree of integrity, functionality and reliability. Furthermore, the configuration of such a complex environment may impact many quality of service factors such as consistency, availability, serviceability, security and data loss. Due to the severe time constraints imposed by rapid deployment, and the increasing pressure from customers on suppliers to provide solutions correctly out of the box, quick identification and resolution of system configuration issues is critical.
Numerous problems can arise while attempting to identify potential issues with a system. The oversight and management of systems, especially in complex networked environments, may rely heavily on the knowledge of system administrators and/or experts from the system service provider(s). These individuals are often charged with not only maintaining physical servers and connections, but also ensuring that applications are running optimally, interface well with one another, and can communicate to outside systems and networks. In an effort to utilize a repeatable process derived from that knowledge, checklists, operational procedures, rules, or other similar documentation can be developed. In addition, software, equipment, and services exist to monitor environmental conditions, physical and remote threats, applications, power usage, and the like, to manage space and assess the data center's overall health.
One example of an engine to assess a system's overall health can be found in co-assigned U.S. patent application Ser. No. 11/499,353 entitled, “Method and System for Community Rule Development” filed on Aug. 4, 2006. Such methods and systems employ a shared body of rules that examine a system to discover if conflicts between operating systems and applications exist as well as providing suggestions of patch and configuration changes to alleviate or minimize such conflicts. A rules application selects what rules are to be run according to a configuration versus applicability analysis. Within most rule bases a rule is applicable if it meets certain conditions. A system administrator or computer expert then selects a rules service deemed applicable (or not applicable) to a system or data center of interest. For example, a system administrator may wish to select and execute certain applicable rules on a periodic basis that provide him or her with information relating to particular applications whether there are updates or patches that should be installed, past patches or updates have been found to be bad and now recommended to be withdrawn, security concerns, disk and firmware updates, and so forth. Rule and rules service selection can be based on several criteria including a rule rating that provides the administrator with insight as to the reliability and usefulness of the rule. Thereafter the rules service applies the selected rules to input data collected from the data center to ascertain a health rating for the system.
The application of rules services is based on knowledge assets allowing the service to represent the data center in concept and design without forcing the asset to fit a model that doesn't accurately represent the system. Generally, as a rule is run, a parser analyzes input data and thereafter identifies referential data through what is generally referred to as an Explorer data function. The collection and parsing of data therefore is tied to the rule or rules selected. The numerous number of data centers seeking such risk or health analysis produces a multitude of components and application combinations. As the systems become more and more complex the ability for even the most skilled professional to keep track of the interactions between components and services, and to maintain the system in optimal condition becomes a challenge. Furthermore, the complexity of the systems being analyzed results in a considerable expenditure of resources for the input data to be parsed and explored so as to provide the reference data for analysis. There is no standardization across the computing industry as how to identify a particular product based on the data that is produced. Each component produces unique telemetry streams. To understand the stream you must know how it is being generated, its structure, and its characteristics. In addition, each particular product produces information whose value is determined, in some part, by the rule being applied. The technical designation and identification of the pertinent data may be lost on a business user or even a system administrator but is nonetheless critical to the successful execution of a particular rule.
For example, a system administrator may select a rules service to be run to analyze the health of a particular system. This system possesses a certain operating system running on several hardware components as well as several end user software applications. Currently, processing the rule necessitates parsing the input data to identify patterns and characteristics and thereafter pulling information from various repositories regarding each component. Based on the type of hardware components or software being examined, only one particular patch may be appropriate, but there can be several other considerations that the administrator should be aware. This is a tedious and expensive process as the explore functionality must be accomplished during each instantiation of each particular rule.
To properly assess the health of a system each component and application comprising the system relevant to the selected rules must be accurately identified. Yet to provide this analysis in a timely and efficient manner this identification must be conducted in a way that allows a rule to access component features and characteristics without having input data parsed and analyzed upon each rule enactment. The exploration of referential data for the purposes of providing to the rules engine product reference data is time consuming and a needless waste of valuable computing resources.